package models

import (
	"TheTearAfter/mysql"
	"github.com/jinzhu/gorm"
)

/**
 * @File : messageTypeClass_Link_MessageBlock.go
 * @Description : 信息块类别
 * @Author : chen
 * @Date : 2024/4/7
 */
type MessageTypeClass_Link_MessageBlock struct {
	gorm.Model
	MessageTypeClassID uint `json:"messageTypeClassID"` // 信息类型 ID
	MessageBlockID     uint `json:"messageBlockID"`     // 信息块 ID
}

func NewMessageTypeClass_Link_MessageBlock() (item *MessageTypeClass_Link_MessageBlock) {
	return
}

// 信息类添加信息块
func CreateMessageBlockToMessageTypeClass(item *MessageTypeClass_Link_MessageBlock) (*MessageTypeClass_Link_MessageBlock, error) {
	err := mysql.DB.Create(&item).Error
	return item, err
}

// 获取所有链接块
func GetALLMessageTypeClass_Link_MessageBlock() (itemList []*MessageTypeClass_Link_MessageBlock, err error) {
	err = mysql.DB.Find(&itemList).Error
	return
}

// 通过信息类 id 获取所有链接信息块
func GetALLMessageTypeClass_Link_MessageBlockByMessageTypeClass(id uint) (itemList []*MessageTypeClass_Link_MessageBlock, err error) {
	err = mysql.DB.Where("message_type_class_id = ?", id).Find(&itemList).Error
	return
}

// 通过信息块 id 获取信息链接块
func GetALLMessageTypeClass_Link_MessageBlockByMessageBlock(id uint) (itemList []*MessageTypeClass_Link_MessageBlock, err error) {
	err = mysql.DB.Where("message_block_id = ?", id).Find(&itemList).Error
	return
}

// // 通过 2 id 删除
// func DeleteMessageTypeClass_Link_MessageBlockByLink2ID(id1 uint, id2 uint) (err error) {
// 	query := mysql.DB.Where("message_type_class_id = ?", id1)
// 	query = query.Where("message_block_id = ?", id2)

// 	err = query.Delete(MessageTypeClass_Link_MessageBlock{}).Error
// 	return
// }

// 通过 id 删除
func DeleteMessageTypeClass_Link_MessageBlockByID(id uint, deep bool) (err error) {
	if deep {
		// 硬删除
		err = mysql.DB.Unscoped().Where("id = ?", id).Delete(MessageTypeClass_Link_MessageBlock{}).Error
		return
	}
	err = mysql.DB.Where("id = ?", id).Delete(MessageTypeClass_Link_MessageBlock{}).Error
	return
}
